The present invention relates to asset management systems. More particularly, the present invention relates to methods and apparatus for determining and displaying the change status of a complex asset. The status data may be used for a variety of purposes including asset tracking and/or asset management troubleshooting.
Throughout the years, movie makers have often tried to tell stories involving make-believe creatures, far away places, and fantastic things. To do so, they have often relied on animation techniques to bring the make-believe to “life.” Two of the major paths in animation have traditionally included, drawing-based animation techniques and stop motion animation techniques.
Drawing-based animation techniques were refined in the twentieth century, by movie makers such as Walt Disney and used in movies such as “Snow White and the Seven Dwarfs” (1937) and “Fantasia” (1940). This animation technique typically required artists to hand-draw (or paint) animated images onto a transparent media or cels. After painting, each cel would then be captured or recorded onto film as one or more frames in a movie.
Stop motion-based animation techniques typically required the construction of miniature sets, props, and characters. The filmmakers would construct the sets, add props, and position the miniature characters in a pose. After the animator was happy with how everything was arranged, one or more frames of film would be taken of that specific arrangement. Stop motion animation techniques were developed by movie makers such as Willis O'Brien for movies such as “King Kong” (1933). Subsequently, these techniques were refined by animators such as Ray Harryhausen for movies including “Mighty Joe Young” (1948) and Clash Of The Titans (1981).
With the wide-spread availability of computers in the later part of the twentieth century, animators began to rely upon computers to assist in the animation process. This included using computers to facilitate drawing-based animation, for example, by painting images, by generating in-between images (“tweening”), and the like. This also included using computers to augment stop motion animation techniques. For example, physical models could be represented by virtual models in computer memory, and manipulated.
One of the pioneering companies in the computer aided animation (CAA) industry was Pixar, dba Pixar Animation Studios. Over the years, Pixar developed and offered both computing platforms specially designed for CAA, and rendering software now known as RenderMan®. RenderMan® renders images based upon conceptual “software assets” including geometric scene descriptors including references to object models.
Typically, scenes to be rendered are specified (assembled) by one or more users (e.g. animators, lighters, etc.). These scenes include descriptions of the objects, camera angles, lighting sources, and the like. Once a scene is defined, the scene data stored and/or the scene is rendered. The resulting image is then viewed by users (e.g. animators, shaders). If the users (e.g. animators, lighters) do not like the appearance of the rendered image, the users re-specify the scene data and the process repeats. Typically, there are a great number of objects in a typical scene, each typically having a great number of parameters that are set by different users.
The scene data file (also known as a scene descriptor file) that describes the entire scene is typically very large, on the order of gigabytes. Because the sizes of typical scene descriptor files are typically large, Pixar developed an internal technique for segmenting a scene descriptor file from one large file into a series of smaller files. As described in the co-pending application described above, Pixar developed and used the concept of “hook set” files and references to “hook files” to describe a scene. Other types of scene descriptors are contemplated for other environments, such as for Maya, or the like.
The inventors of the present invention have determined that a scene may be rendered and re-rendered by different users for a variety of reasons. Some reasons include to match changes in other scenes, to study the effect of different changes in lighting, texture, object placement, and the like. The inventors have also determined that it is important to users to know how a conceptual software asset, such as a scene, may have changed since the last rendering. For example, light objects may have been added to a scene, three-dimensional objects may be deleted from a scene, a camera object may have been repositioned, and the like. Additionally, the inventors have determined that it is important to know when and who made changes to a scene in the case an updated object causes problems during a re-render.
Some previous techniques for trouble shooting an asset management system to locate problem assets have included having a knowledgeable user manually determining and examining likely candidate assets to find the problem asset. Drawbacks to this approach included that such searches are time consuming for even the most expert user, for a sufficiently complex asset. Additionally, it required a user to have expertise in areas potentially outside their specialization, so the user could navigate parts of complex assets.
Other techniques included the use of version control system tools. Such tools typically report on the status of files under their management. A drawback includes that the views on the data are typically based on the on-disk structure of the file-level assets. This drawback contrasts with the inventors' desire that an asset status reporting system be rooted in a conceptual, aggregate asset like a “character” or a “shot”, and not just a physical file, or the like. Another drawback is that the status of any files that are not checked into the version control system (accidentally or deliberately) are not properly reported.
Accordingly what is desired are improved methods and apparatus for asset reporting, without the drawbacks described above.